// 菜单管理模块相关的TypeScript类型定义

/**
 * 菜单信息
 */
export interface Menu {
  id: number
  parentId: number
  name: string
  path: string
  component: string
  icon: string
  title: string
  order: number
  status: number // 0-禁用, 1-正常
  type: number // 1-目录, 2-菜单, 3-按钮
  permission: string
  createdAt: string
  updatedAt: string
}

/**
 * 菜单树形结构
 */
export interface MenuTree extends Menu {
  children?: MenuTree[]
}

/**
 * 创建菜单请求参数
 */
export interface CreateMenuRequest {
  parentId: number
  name: string
  path: string
  component: string
  icon: string
  title: string
  order: number
  status: number
  type: number
  permission: string
}

/**
 * 更新菜单请求参数
 */
export interface UpdateMenuRequest {
  parentId?: number
  name?: string
  path?: string
  component?: string
  icon?: string
  title?: string
  order?: number
  status?: number
  type?: number
  permission?: string
}

/**
 * 更新菜单状态请求参数
 */
export interface UpdateMenuStatusRequest {
  status: number
}
